package process

import (
	"chatroom/client/utils"
	"chatroom/common/message"
	"encoding/json"
	"fmt"
)

type SmsProcess struct {
}

// 客户端发送群聊的消息
func (this *SmsProcess) SendGroupMes(content string) (err error) {
	// 1 创建一个Mes
	var mes message.Message
	mes.Type = message.SmsMesType
	// 2 创建一个 SmsMes 实例
	var smsMes message.SmsMes
	smsMes.Content = content               // 消息内容
	smsMes.UserId = CurUser.UserId         // 用户Id
	smsMes.UserStatus = CurUser.UserStatus // 用户状态
	// 3 序列化 smsMes
	data, err := json.Marshal(smsMes)
	if err != nil {
		fmt.Println("SendGroupMes json.Marshal fail =", err.Error())
		return
	}
	mes.Data = string(data)
	// 4 对 mes 再次序列化
	data, err = json.Marshal(mes)
	if err != nil {
		fmt.Println("SendGroupMes json.Marshal fail =", err.Error())
		return
	}
	// 5 创建一个 Transfer 实例
	tf := &utils.Transfer{
		Conn: CurUser.Conn,
	}
	//6 将 mes 发送给服务器
	err = tf.WritePkg(data)
	if err != nil {
		fmt.Println("SendGroupMes err=", err.Error())
		return
	}
	return
}
